home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-05
/
seemail1.zip
/
SM-DOCS.EXE
/
SEE-MAIL.HLP
< prev
next >
Wrap
Text File
|
1991-11-09
|
61KB
|
1,848 lines
Mar 8, 1991 See Mail Information Page 1
╔═══════════════════════════╗
║ ║
║ See Mail Information ║
║ ║
╚═══════════════════════════╝
TABLE OF CONTENTS
Program Design Philosophy . . . . . . . . . . . . . . . . . . . . 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
Using Prolog . . . . . . . . . . . . . . . . . . . . . . . . . 2
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Program specification . . . . . . . . . . . . . . . . . . . . . . 3
System Requirements . . . . . . . . . . . . . . . . . . . . . 3
Video Support . . . . . . . . . . . . . . . . . . . . . . . . 3
Help System . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Mail Folder System . . . . . . . . . . . . . . . . . . . . . . . 4
Creating outgoing mail . . . . . . . . . . . . . . . . . . . . . 5
MCI Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Internal mail . . . . . . . . . . . . . . . . . . . . . . . . 5
Paper Mail . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Other DOS files . . . . . . . . . . . . . . . . . . . . . . . 6
Replying to and forwarding mail. . . . . . . . . . . . . . . . 6
MCI Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Internal Mail . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Paper Mail & FAX's . . . . . . . . . . . . . . . . . . . . . . . 7
Displaying & Editing . . . . . . . . . . . . . . . . . . . . . . 7
Printing & Reports . . . . . . . . . . . . . . . . . . . . . . . 8
Interfacing to Wordprocessors . . . . . . . . . . . . . . . . . . 9
Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Setup & Configuration . . . . . . . . . . . . . . . . . . . . . . 11
Overview of DOS environment . . . . . . . . . . . . . . . . . . . 11
DOS batch files . . . . . . . . . . . . . . . . . . . . . . . . . 12
Data bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Editing external files . . . . . . . . . . . . . . . . . . . . . 14
Toolkit Programs . . . . . . . . . . . . . . . . . . . . . . . . 14
Notes for Advanced Users . . . . . . . . . . . . . . . . . . . . 14
Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Prolog error messages . . . . . . . . . . . . . . . . . . . . . . 16
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 2
Program Design Philosophy
Introduction
The reason for creating this program was initially to provide users
of Lotus Express with access to good reporting facilities while
also freeing them from the need to have Lotus Express in memory.
That therefore meant that LAN software and 3270 mainframe emula-
tion software could be used without sacrificing access to your
E-mail messages.
The program has expanded from that base to provide complete E-Mail
services including internal and external mail. To support this
there is an integrated database system, mail archiving facilities,
and a range of editing, printing and reporting, and file handling
tools.
The reporting facilities mean that reports can be sent via mail and
then printed with correct page control by the recipients. Also
text boxes can be used to highlight paragraphs and headings. This
also means that reports prepared in a wordprocessor such as
Word-Perfect can be formatted for sending over mail. ( See
interfacing section for details on how this works ).
The built in editor allows cut & paste along with extended editing
of multiple files. This means new memos can be constructed easily
with extracts from existing mail.
The project was made feasible because of the initial work done for
the LISTER program which is a general purpose text file utility.
Much of the original routines have been included from Lister. The
new features give access directly to your mail folders and
messages. There is also a link to archiving utilities, to ease
the burden and disk overhead of keeping old mail for reference.
This program is intended to be simple to use and to provide the
fundimental features required for E-Mail. I hope you find it to
be a useful tool.
(Note: Lister23.zip is available on Compuserve, GO PCVENB, Area
11)
Using Prolog
Using Prolog for this application demonstrates the power of modern
languages. The elegance of Prolog made light work of many
features and generally produced very pure and robust code. The
main trade-off being the thirst for memory, but that is small by
comparison to the number of features available within the
program.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 3
Objectives
This program is designed to make powerful tools available to even
non-technical users. It has extensive output and printing
features allowing processing of ASCII text type data files. It
supports use of LAN devices and printers. It can be used for
producing small documents, letters and so on. Those familiar with
either WordStar, Multimate, and or Borland's programming editor
environment will find it particularly easy to assimulate.
It is designed to be something more than just a file browse tool,
but does not approach in complexity a complete DOS shell
facility. Above all it is designed to be simple and intuitive to
use, with obvious command keys and user prompts.
Program specification
System Requirements
The program requires at least 350k to provide the minimum
functions, so your machine should be equipped with not less than
512k of memory, 640k if use of the LAN features is intended. The
program should be run from a hard disk with disk caching enabled,
or large DOS buffers available. It works with MDA, CGA, EGA, and
VGA displays, and also the clone style composite CGA/Mono
displays. DOS version 3.0, or higher, is required.
The program warns if available memory is less than 90k but it will
still run, however some functions will be restricted. Having more
memory available will prevent errors occurring through stack
over-flows and the like. There is no special requirement for DOS
files and buffers, or other environment parameters.
Use of memory extenders for EGA/VGA equipped systems that disable
graphics and thus provide DOS with 730k+ of base memory will
allow especially large numbers of mail files & folders to be
managed.
The program runs on any LAN supporting IBM NetBIOS, and also Novell
NetWare based LANs.
Video Support
The program can be made to switch to the highest resolution avail-
able to display your files. (See the Setup display option for
details). You can also configure the colours used with all or any
of the major components. Users of portable systems may especially
need to make adjustments to suit the display they have available.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 4
Help System
The help system consists of four components.
- Overall program help
- Help for each item of the pulldown menu system.
- Editor help within the text editor.
- Specific help for some of the more complex features such as text
formatting and the data bank.
The overall help if contained in this file, and it can either be
viewed or printed for reference. This file is intended only to be
a quick summary of the See Mail Manual that is available to
registered users.
Pulldown menu help is accessed by placing the cursor on specific
menu item and then pressing <F1>.
Editor help is available by pressing <F1> within the editor.
Specific help for special features is available as a menu option
within the feature. Data bank help can be accessed via <F1> while
displaying a data bank entry screen.
Mail Folder System
See-Mail keeps mail items within a folder system. It defaults to
the naming convension used by Lotus Express, that is the main
directory is called MAILSYS, folders are suffixed with <*.FLD>
and mail items are suffixed with <*.LTR>. You can change this as
you require using the SETUP function, i.e. Mail Clerk users would
select <*.*> as the folder suffix, <*.MSG> for the mail items,
and MAIL as the main directory.
Whatever you choose as you main directory you MUST create that
directory before attempting to create or receive mail.
See-Mail allocates a number of folders for you, these are OUTGOING,
INCOMING, SENT, UNSENT, and DRAFTS. Mail you create should be
placed in OUTGOING once it is ready to be sent. You should then
run the INTERNAL, and or the EXTERNAL mail post facilities. These
will then having processed your mail, move the mail items to the
appropriate folders.
You can create your own folders using the Editor Hot Keys to access
the UTILITY functions from within the editor.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 5
Creating outgoing mail
MCI Mail
See Mail supports the complete range of MCI Mail from fax's to X400
standard EMS E-Mail. You are prompted at each stage to make the
correct selections. You can refer to the databank to cut and paste
address information to your mail items. If you are creating new
mail you will need to put the mail item into the DRAFTS folder
before you can do this. For old mail you can look up information
in the databank prior to replying to or forwarding your mail.
Replying and forwarding are accessed via the editor hot keys menu
function. (<Alt-F1><1> and then either <1> or <2>)
You can setup mailing lists using the data bank menu, and the Mail
list option. If you have existing mail containing the MCI Mail
address list that you want to use you can paste this list to the
paste buffer prior to using the edit mail list facility.
Similarly you can edit and change the standard messages file to
hold text that you use often. Such text should always be entered
in the same manner in the msg files, i.e. %%%% preceding the
heading, followed by a blank line, and then %%% terminating the
message text itself.
Internal mail
Two types of internal mail are possible, purely internal mail, or
mixed mail, where the first address(es) are to MCI Mail.
In either case the mail should be SENT FIRST with the INTERNAL mail
post option. If it is mixed mail it can then be sent to MCI Mail
to complete the external delivery.
When creating any type of mail you may need to reformat the text
before sending it. To do this move the mail item to the DRAFTS
folder, then select VIEW, to re-edit the file. Use the hot key
option <6> to format the text. YOU MUST read the HELP
instructions available for text formatting BEFORE attempting to
use it. In particular you MUST ensure your paragraphs are
separated by two newline characters. Press <ALT-I> in the editor
to ensure these are correctly entered.
Paper Mail
Paper mail can be set up in the same way as regular mail. However
to avoid printing the standard From:, To:, Subject:, heading just
move the cursor to below this test in the document before
printing.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 6
Other DOS files
If you require a complete new file then this option places you into
the editor with an empty file to work from.
The new file is automatically called SEE-MAIL.NEW, if it already
exists it will be loaded in again. Use the DOS utilities to
rename the file to whatever you require.
Replying to and forwarding mail.
Any mail you have received can be easily replied to by using the
hot-key <Alt-F1><1> sequence from within the editor. This then
retrieves the address information from the mail item you are
viewing (based on the cursor position) and prompts you to create
the new mail item.
MCI Mail
The MCI Mail option of the mailBox runs the MCIMail program. This
is a utility supplied for use with See Mail. If you need more
information about it refer to the SEE-MAIL.DOC file.
Use the Setup menu option to define the type of modem you are
using, and your MCI Mail account details. You are then ready to
send/receive MCI Mail directly.
Addressing errors, or transmission errors can be reviewed by
selecting the Review transmission log option. This provides a
convenient way of viewing the MCI Mail session log. You can cut
and paste the correct address for the log into your mail item in
the UNSENT folder if you missed addressed an item. (Save the
address in the databank for future reference).
If the transmission log file exceeds 64k in size you will only be
able to view the first 32k. (This may happen for instance if you
sent 15 messages, each 4k long and you wanted to review them all.
You could use the DOS command: type emma.log | more to review
these details in that case).
There is a timed polling feature that allows you to access MCI Mail
unattended after a pre-set time. If is useful for overnight
access, or to run during the day while you are away from your
desk.
Internal Mail
To use this facility you should have access to a LAN. (You can
demonstrate it if you like be creating a mailbox on your local
hard disk, you can then just send and receive messages yourself).
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 7
To setup on a LAN you should establish an area on the LAN server
that everyone has fully read/write/create/delete writes to
access. You can then place your mailbox in the area. To do so you
use the main SETUP option for communications and specify the
location of this area. I.e. it might be called P:\MAIL, you then
select the Configure mail option and the create mail system. See
Mail will then automatically build the files it needs. You should
then immediately Add your user details to the new mail system.
Passwords are optional, pressing enter will cause password
prompting to be suppressed.
Internal mail users are organised in groups. Once you have created
the mailbox area and the first user, anyone else can access the
mailbox and add themselves to the appropriate group. Groups of
low priority cannot send mail to higher priority group members.
High priority member can send mail to anyone of equal or lower
priority. To disable this checking just assign the same priority
level to all groups.
People can add themselves to as many groups as they like, this
provides an easy way to send mail to interested parties by just
selecting all groups members for your mail item.
In this version of the program mail is not encrypted, so you should
avoid sending sensitive items unless they are to be retrieved
immediately (and therefore are deleted off the network system).
Paper Mail & FAX's
Paper mail and FAX's that you send through the regular mail, and or
FAX using a FAX machine can still be stored within See Mail. Just
move the cursor below the "To: From: Subject:" lines and then
print the item. This allows you to take advantage of the databank
for all your correspondence, not just E-Mail. After creating
mail, you can view it from the DRAFTS folder and then access the
databank to cut and paste address information, or use the Mail
Lists options to keep copies of addresses you use often.
Displaying & Editing
The editor available works in two modes. If your file is up to 64k
in size the entire file is loaded into the editor, and you can
edit supplementary files by pressing F8 or F7, and cut and paste
text accordingly.
If your file is larger than 64k then only the first 32k can be
loaded into the editor. (This may also happen if there is insuf-
ficient memory available to load your entire file into the main
editor).
You can re-size and re-position the editor window using Shift-F10.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 8
To see a file you must first select the folder that it is in, the
highlight the specific entry in the folder list, and press enter.
From within the editor you can hot key <Alt-F1> to access a range
of special functions and tools, including printing.
When printing remember that printing is done FROM the CURRENT
cursor position. If you want the whole text be sure to press
<Ctrl-PgUp> to return the cursor to the top before printing. This
is ALSO necessary even if you exit, and then print a selection of
files using the Select and Print option.
Printing & Reports
Hopefully this feature is self evident from the menus and options
it provides. It really requires that you experiment to get the
full potential from the system. The defaults are setup so that
most of the time you can just press enter without having to pause
too much for thought. However, you cannot backup on selections,
so if you go wrong, just continue to the Confirm prompt and press
anything but C to continue! You can then go back around and try
again. (If you really mess up you can always abort the output).
When using Page Headers and the flexible page control feature a few
provisos are needed. Form feed characters must be either the
first character, or the last character on a line, and preferably
the only character on the line. However page control strings such
as /*page*/ or %page can be anywhere on the line, but again, any
other text on the same line will not be printed. Also a caution,
select a unique page delimiter. For instance if your COBOL source
contains EJECT as part of a variable or procedure name, that line
will be treated as a page EJECT as well! A page checking routine
called CHECK-EJECT-PAGE would be a sucker shot in one!!
Note: You are limited to 32756 records of output at a time,
(maximum integer value) with this release of the program. That is
between 200 and 300 pages, which is sufficient for most E-Mail!
The Print menu now supports compressed printing, and a variable
page number to allow re-printing of select pages in a sequence
without having to print the entire document.
The printing facilites have been extended to include double page
printing for HP Laser output. (This facility allows printing of
two pages of print on one piece of paper). Wjen using this there
is a limit of 81 characters wide and 64 lines deep per page. If
you enter width and page length parameters they will be ignored.
Also page breaks every 64 lines are always enforced, so if you
use page control of any kind you are responsible for making sure
it fits to a 64 line page.
You can direct the output to a file and print it later. ( Use the
DOS copy command and specify the /B switch,
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 9
i.e. >>> copy lister.txt lpt1: /B
as the file contains binary codes that are used by the HPLaser ).
The printing facilites also now include facilities for HP Laser 3
printing. (You can optionally modify the codes used by selecting
the Setup printer option. However you must understand printer
control codes before attempting this. The last three fonts in the
list are configuable in this way.).
You can combine fonts within a document by first printing it to
disk and then APPENDING more lines with See Mail in a different
font. Finally select the SEE-MAIL.TXT file and output it to the
printer using the 'Printer Default' option.
The program checks for an active printer if you specify either the
default (LPT1) or any of the LAN printers.
Interfacing to Wordprocessors
To produce a Wordperfect document in a format suitable for use with
See Mail requires the following steps:
1) Load WordPerfect file
2) Configure WordPerfect
3) Output report to file
4) Exit Wordperfect and access file.
Load your file into WordPerfect in the normal way. Then press
Shift-F7 to enter the print menu. Press S to select printers,
then press A to add addtional printers. Then move through the
klist of printers until you find one called DOSprt - DOS test
printer. Select this printer and press F7 to exit. Then press E
to edit the details for the DOS printer. Press P for Port, and
then option 8. Now enter the following >>> \print.txt
This will send all output to a file called print.txt on your root
directory.
Once you have the DOS printer set up you can use shift-F7, and
print the document.
You should note that top and bottom margins should be set to a
small value, just enough to accommodate the heading / footer
lines and no more. Also if a page break symbol (hank) is visible
ON THE SAME LINE as some text then ADD a line to your WordPerfect
document, AND one space. See Mail will not print any lines
containing a page break symbol.
Interfacing with other wordprocessors is also possible. You should
ensure that the wordprocessor can write to a DOS file. See next
page for a description of using MicroSoft Word.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 10
If it does not put page break symbols into the resultant file then
you should insert a page symbol of your own either as the first
line of the header, or the last line of the footer. You can then
instruct See Mail to look for this symbol as a page delimiter.
See Mail has default page symbols such as %page , so for example
you could have the following header in your document:
%page
Page: 1
This is a sample header
=======================
And the body of the document follows on here.
%page
Page: 2
This is a sample header
=======================
And more text of the document is on page two.
11 Interfacing continued
To produce a MicroSoft Word document in a format suitable for use
with See Mail requires the following steps:
1) Load Word file
2) Select Print from command menu
3) Choose "Options", and select PLAIN printer
4) Return to Print menu, and select "File".
4) Supply a file name such as C:\PRINT.TXT
4) Exit Word and access the C:\PRINT.TXT file.
Utilities
There is an exit to DOS from inside the program to allow ready
access to DOS commands not supported from the programs menu
options.
I issue the set command so you can see the DOS environment you have
just entered. Entering EXIT will return you to the main program.
File manipulating
The current file can be copied, renamed, or deleted by selecting
menu options.
Memory status
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 11
This display allows you to see how much memory you currently have
available, and are using. The value shown is the total free
memory in bytes.
Setup & Configuration
Before using the program you should first create a directory on
your hard disk to contain your mail folders. Lotus Express users
may re-use their existing MAILSYS directory, or may create a new
directory such as MAIL. Use the Setup option to identify this
directory to See Mail, and ensure you select save configuration
following this.
You should then select each of the other setup options and adjust
those that apply to you, saving your final configuration before
starting to use the program.
If you are using shared databank's on a LAN then you should enter
the location as a command line parameter when starting See Mail.
I.e. >>> see-mail p:\shared
There are several possible setup configurations:
1) Single user system:
i - MCIMail system only.
ii - MCIMail system and databank.
2) LAN user system:
i - Internal mail system only.
ii - MCIMail & Internal Mail.
iii - MCIMail only.
3) LAN user system:
i - Internal mail, MCI Mail, and local databank
ii - As i) but also including shared databank on LAN.
In a LAN system the See Mail program can be located on the server
only, or on each user machine, or a combination. Sharing a
central copy of the program makes maintainance easier, and is the
recommended approach. (Each user will have their own local set of
See Mail *.cfg files and so can control their own preferences for
display modes, printer defaults and so on).
Overview of DOS environment
See Mail automatically senses the DOS directory that it was started
from, and looks for configuration files located there first. By
setting various parameters you can override this so that
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 12
configuration files and or databank and mail files can be located
in different directories. The recommended approach is to have
your mail and databanks under one directory, with the program and
configuration files under another, for single user systems. When
you are sharing a LAN facility you need only have one directory
on your local hard disk that holds your mail, databank and
configuration files. (For a disk-less work station these files
could be held in your private disk area on the file server you
are accessing).
See Mail makes extensive calls to the DOS file system. This means
that running without using disk caching software or a large value
for the DOS buffers command in the config.sys file, will result
in slow access to your mail files.
The See Mail program itself uses overlays to reduce its own memory
requirement. The program is 700k but requires a base of only 330k
to load into. However the program holds all lists of files and
folders in memory. Consequently you will need to allow at least
90k of free memory to be able to use all of its features. The
program displays the amount of free memory, and updates it
continually.
When switching between folders you will be given the option to
release them. You should do this if the folder is large and you
will not need to refer back to them again. Similarly when
searching across folders you may find that you have to limit the
search of large folders to prevent See Mail running out of
memory. Any folder with more than 50 mail items should be
considered large. Archiving or deleting your older mail will
therefore improve program performance. The tools provided make
this task simple.
DOS batch files
SM.BAT
This sample batch file is for a single user system. If you would
like to use it you should replace the %sm% with the name of the
directory containing See Mail. From in the See Mail editor you
can block mark the text, and then use <Alt-F5> to copy the block
to a new file called [SM.BAT]. You should place this file in a
directory that is included in your DOS path.
@echo off
rem This batch file runs the SEE-MAIL E-Mail utility.
rem Version 1.0, July, 1990.
rem Copyright : Gnosis Inc, Lanham, Maryland, USA.
rem
\%sm%\see-mail %1
if errorlevel 1 goto :fail
if errorlevel 0 echo <<< See Mail Ended OK >>>
goto :exit
:fail
echo
echo <<< See Mail Aborted >>>
pause
mode 80
:exit
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 13
This sample batch file is for use in a LAN system. It will
automatically install See-Mail onto a user machine the first time
it is called.
@echo off
if exist c:\mail\sm*.cfg goto :instlok
echo Installing mail system..........
md c:\mail
md c:\mail\outgoing.fld
md c:\mail\incoming.fld
md c:\mail\drafts.fld
copy p:\prj\oms\mail\*.cfg c:\mail
:instlok
echo Loading mail program...
c:
p:\prj\oms\mail\see-mail c:\mail
if errorlevel=0 cls
Data bank
This feature is provided for you to keep track of the people you
correspond with. At the simplist level this can merely save you
time looking up MCI Mail ID's. More advanced use includes cutting
and pasting notes to and from the databank, and then also using
the databank as a "To Do" list processor. Even more advanced is to
customise the screens you use by setting up your own "*.SCR"
screens for use with your databank.
The most direct databank interface is to use the hot keys from
within the editor. This way you can quickly add new entries of
addresses from your mail items, or lookup existing entries. The
main thing to remember is that pressing <F10> will save/update
the databank, pressing <Esc> will exit with no changes.
Using the databank pulldown menu allows you to create as many
databank as you like. Also this allows you to make backups of your
files using Export facility. (If your databank suffers a system
error you can then recreate a new one by using the Import
option).
Customising screens is done by creating a screen with the same name
as your databank, i.e. PERSONAL.SCR, for your PERSONAL databank.
Use the editor to rearrange fields in your new screen. Some
examples of different formats are provided. See Mail will always
defaults to using the SEE-MAIL.SCR screen if it finds no others.
By customising the screens it is possible to use the databank to
track other items, such as a parts inventory, or systems problem
logs, or any other small database that you need.
The action codes list can be modified using the option provided in
the databank pulldown menu. If then allows you to select databank
entries based on action codes that you select. There are also the
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 14
special codes > for greater than, and < for less than, to select
ranges of items.
Archiving
Archiving uses either PKZIP or PKARC file compression programs. You
must have either one of these programs available to use this
feature. Use the Setup option to indicate which program you want
to use. Ensure that the DOS Path is set correctly to allow
See-Mail to locate the compression program.
Archiving is highly recommended for folders that contain 50 or more
items. You can selectively archive your older mail items and then
merely recall them later if you have to.
See Mail also makes this process very easy by maintaining two log
files so you can review the items in the archive WITHOUT having
to necessarily recall them. If you do need to recall something,
the second log file is used to give you a point and select menu
to choose the files you need back again.
Editing external files
The program starts by displaying a pulldown menu. From this you can
select the files facility to access DOS files other than those in
your mail folders.
Using the files facility you can then search for the file you
require, (switch directories, or change the file mask as you
require by pressing F4). Also you can re-size the window using
Shift-F10, or toggle to a full screen mode using F5.
The program then checks the first 512 bytes of your file to make
sure it is a valid text file, and then displays the first page of
the file. You can then move it to a mail folder, or just use the
other tools and utilities on it as you require.
Toolkit Programs
There are additional programs available for register users. These
are being continual upgraded and added to. The current tools
include:-
mbxreset - reset internal mailbox following a system crash.
scrdef - design your own screens for the databank program.
plabel - print labels from your databank addresses.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 15
Notes for Advanced Users
A few notes for advanced users:-
External file selection:-
Firstly this is a built-in Prolog feature. There is currently a
problem when displaying sub-directories with extensions. They
are displayed but can cause the list to corrupt when an attempt
is made to select one. To select them you have to press F4 and
enter the sub-directory name in full. (PDC are fixing this bug).
If you press F4, don't start typing straight away, right arrow
one space, and the existing file mask will be retained for edit-
ing, rather than having to retype the whole thing again. (I.e. if
it says C:\*.* then press right arrow, A, left arrow, backspace,
will change it to a:\*.* for you).
When you Press F5 ZOOM, pressing F5 again toggles you back.
After quitting the file selection process the program displays your
file, and you can then proceed as you require. When you select
the file tools for a second time the program will ask you if you
want to automatically change the file selection parameters to
match the pervious file that you chose. If you want to see all
files displayed again, just press enter to continue.
However, if you want to save you selection as a wild card, press
either F for a wild card based on filename, or E for extension.
The next time you select files, the default will be for the name
or extension you have selected.
Similarly, for the sub-directory. This DOES NOT change the DOS
default directory however. (To do that use the Utilities DOS
exit).
Virus Protection:
There is a function that checks for a trojan horse style virus
attack on the program itself. If you receive this alarm when
starting the program you should immediately alert your source of
the program so counter measures can be taken.
This feature can be disabled if you are using a disk compression
program. Edit the SM-MISC.CFG file and create a second line with
a key of 77, and parameter of 9999. Your completed SM-MISC.CFG
file should then look something like this.
miscell_vars(77,9999,1,"","","")
miscell_vars(1,78,1,"p:\\mailbox","A001","")
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 16
Credits
To Carl Townsend for his Advanced Techniques in Turbo Prolog book;
To my wonderful Marjorie for her support.
--------------------------------------------
"And I know it looks easy said Piglet,
but it's not everyone that can do it..."
A.A. Milne.
--------------------------------------------
Prolog error messages
1001 Gstack overflow. Not enough memory or an endless loop.
#
1002 Heap overflow. Not enough memory or an endless loop.
#
1003 Requested block is too big (max 0xFFF0 bytes).
Internal error which should not be caused by pure Prolog code.
#
1004 Mismatch between freed blocks size and internal record.
Internal error which should not be caused by pure Prolog code.
#
1005 Attempt to release already released block.
Internal error which should not be caused by pure Prolog code.
#
1006 Heap signature overwritten
Internal error which should not be caused by pure Prolog code.
#
1008 Memory initialization failure.
This indicates severe shortage of memory. The program is unable
to start execution.
#
1010 Stack overflow.
#
1020 Trail overflow. Use trail=size to get more space.
#
1030 Arithmetic overflow in real operation.
the range for reals is -1.0e308 .. 1.0e308.
#
1031 Arithmetic overflow in integer operation.
The result cannot be stored in a 16-bit integer, which has a range
of -32768 .. 32767.
#
1032 Division by zero.
#
------------ IO & OS errors
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 17
#
1101 Attempt to open an already open file.
Note that a symbolic file-name, declared with a file-domain,
can only be used for one file at a time.
#
1102 Attempt to assign input device to a file that is not in
readmode.
The file was opened in write-only mode.
#
1103 Attempt to assign output device to a file that is not in
writemode.
The file was opened in read-only mode.
#
1104 The file isn't open.
#
1105 Illegal mode in filemode predicate, should be 0 or 1.
'0' specifies Text mode, while '1' specifies Binary (raw) mode.
#
1106 Invalid operation on device.
#
1107 Eof can only be used during readmode.
The file might be closed.
#
1108 Illegal device or path.
#
1109 Wrong number of arguments in the format string.
#
1110 File too big, or not enough memory for file.
#
1111 Wrong number of bytes read from file.
This is either caused by a corrupt database or errors using the
readblock predicate.
#
1112 Not able to write correct number of bytes to file.
This is probably caused by a full disk.
#
1115 'unreadchar' failed because of full buffer (max 128
characters).
#
1116 Failure in 'system' call.
Either COMMAND.COM can not be found, or the indicated .EXE or .COM
file
can not be found.
#
1117 Error executing external program.
The external program might be too big to be executed from the
Prolog system or it might be an illegal EXE-file, or it remained
resident. Try to execute the external program from the DOS shell
to see what happens.
#
1118 Cannot access port(s).
The port(s) cannot be reserved. Another program is probably using
them.
#
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 18
1133 Incorrect operating system version.
The OS version doesn't have the support required by the attempted
operation.
#
----------------------- SCR & WD Error's
#
1201 The arguments in 'makewindow' are illegal.
Check that
- the window number is in the range 1 .. 127
- StartRow+NoOfRows <= no. of rows on screen (usually 25 or 43)
- StartCol+NoOfCols <= no. of cols on screen (usually 80 or 120)
#
1202 The cursor values are illegal.
The Row and Column must be inside the actual window.
#
1203 The window referred to does not exist.
#
1205 Maximum number of windows exceeded. ( The maximum is 34. )
#
1206 The arguments in 'resizewindow' are illegal.
in resizewindow(StartRow,StartCol,NoOfRows,NoOfCols)
Check that
- StartRow+NoOfRows <= no. of rows on screen (usually 25 or 43)
- StartCol+NoOfCols <= no. of cols on screen (usually 80 or 132)
- Both StartRow and StartCol are positive.
#
1207 Scroll predicate is not supported in graphic.
#
1208 Not possible to set indicated textmode.
#
1209 Operation not possible on system windows.
#
1210 Illegal operation on a system window.
#
1211 The window is compressed.
#
1212 The window is expanded.
#
----------------------- Database -------------------------
1302 The database is already open.
A given database selector can only be opened once.
#
1309 Error reopening the database during flush operation.
'db_flush' closes and opens the file in order to flush the DOS
buffers; there is sadly no other way of guaranteeing that the
buffers really are flushed on a DOS-system.
When the database file is opened again, the same name as before
is used. This may cause problems if the database was opened in
the current (default) directory and this has been changed since
then, as 'db_flush' will have closed it in the old directory and
tries to look for it in the new directory.
#
1314 Unable to create the indicated database.
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 19
#
1315 Unable to open the indicated database in the given place.
#
1317 Database marked as invalid.
Whenever a database is closed, or flushed, it is totally consistent and
marked as valid; this is reverted to invalid when it's contents are
changed. If the computer crashes with an invalid database, it isn't
subsequently safe to open and use it as if nothing has happened. In this
case you must try to write a short recovery/copy program, opening the
database with the 'openinvalid' predicate and copying the contents as far
as they go to a new database.
#
1319 Invalid database reference number.
You are probably using a database reference number for a term you have
deleted, or you have maybe two open databases and are referring to the
wrong database.
#
1320 The chain does not exist in the database.
#
1321 The named B+Tree does not exist in the database.
#
1324 Key and ref not found in B+tree during key_delete.
You either have a wrong combination of KEY and REF, or you are referring
to a wrong B+Tree.
#
1327 Not inside transaction.
The database was opened in sharemode, so all predicates that access the
database must be placed inside a transaction.
#
1328 Write transaction not allowed when file opened in readonly.
db_begintransaction was called with readwrite, but the database
was opened as readonly.
#
1330 Begintransaction made twice without endtransaction.
After a call of db_begintransaction, db_endtransaction must be called
to mark the end of the transaction before another call to db_begintransaction.
#
1331 Update of the database not allowed in readonly mode.
#
#
1332 Timeout in begintransaction
After having tried RetryCount times with SleepPeriod intervals,
db_begintransaction was unable to access the file.
#
1333 Key does already exist in B+Tree where dupplicates are not allowed.
#
1334 Wrong chain used in term_delete.
#
1314 Unable to create the indicated database.
#
1315 Unable to open the indicated database in the given place.
#
1316 No EMS installed.
You can not use the option 'in_ems' in db_open and db_create if
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 20
you have no EMS card installed.
#
1317 Database marked as invalid.
Whenever a database is closed, or flushed, it is totally consistent and
marked as valid; this is reverted to invalid when it's contents are
changed. If the computer crashes with an invalid database, it isn't
subsequently safe to open and use it as if nothing has happened. In this
case you must try to write a short recovery/copy program, opening the
database with the 'openinvalid' predicate and copying the contents as far
as they go to a new database.
#
1318 Unable to delete database in the indicated place.
#
1319 Invalid database reference number.
You are probably using a database reference number for a term you have
deleted, or you have maybe two open databases and are referring to the
wrong database.
#
1320 The chain does not exist in the database.
#
1321 The named B+Tree does not exist in the database.
#
1322 Invalid B+Tree selector for the given database.
You are probably using a bt_selector for a B+Tree you have deleted, or
you have maybe two open databases and are referring to the wrong database.
#
1323 Can not delete an open index. (Close it first)
#
1324 Key and ref not found in B+tree during key_delete.
You either have a wrong combination of KEY and REF, or you are referring
to a wrong B+Tree.
#
1325 Term too big for conversion.
A single term must not occupy more than 64K for insertion in databases or
transmission on a message pipe.
#
1326 Incorrect database system version.
The database was not created with the same version of the database system
as the one you are now using.
#
1327 Not inside transaction.
The database was opened in sharemode, so all predicates that access the
database must be placed inside a transaction.
#
1328 Write transaction not allowed when file opened in readonly.
db_begintransaction was called with readwrite, but the database
was opened as readonly.
#
1330 Begintransaction made twice without endtransaction.
After a call of db_begintransaction, db_endtransaction must be called
to mark the end of the transaction before another call to db_begintransaction.
#
1331 Update of the database not allowed in readonly mode.
#
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 21
1332 Timeout in begintransaction
After having tried RetryCount times with SleepPeriod intervals,
db_begintransaction was unable to access the file.
#
1333 Key does already exist in B+Tree where dupplicates are not allowed.
#
1334 Wrong chain used in term_delete.
#
-------------------------- Term Reader
#
1401 Integer expected (during term reading).
#
1402 Real number expected (during term reading).
#
1403 Double quote expected (during term reading).
#
1404 Single quote expected (during term reading).
#
1405 List start expected (during term reading).
#
1406 End of list expected (during term reading).
#
1407 Functor not found in domain (during term reading).
#
1408 '(' expected (during term reading).
#
1409 ',' or ')' expected (during term reading).
-------------------------- Editor
#
1501 Editor text buffer full.
#
-------------------------- String handling
#
1601 String index error.
A substring or subchar call with index values outside the string.
#
1602 Result string cannot be bigger than 64K.
-------------------------- Directory browser
#
1901 Too many files.
#
-------------------------- Configuration loading
#
2001 Bad configuration file.
#
2002 Error reading Configuration file.
-------------------------- Operating system errors
Note that many of these only apply to the OS2
version, and that for OS2 many of the messages
are not applicable. They are, however, included
for completeness.
#
7001 Invalid function number
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 22
#
7002 File not found
#
7003 Path not found
#
7004 Out of handles
#
7005 Access denied
#
7006 Invalid handle
#
7007 Memory control blocks destroyed
#
7008 Insufficient memory
#
7009 Invalid memory block address
#
7010 Invalid environment
#
7011 Invalid format
#
7012 Invalid access code
#
7013 Invalid data
#
7014 Unknown unit
#
7015 Invalid disk drive
#
7016 Cannot remove current directory
#
7017 Not same device
#
7018 No more files
#
7019 Disk write-protected
#
7020 Unknown unit
#
7021 Drive not ready
#
7022 Unknown command
#
7023 Data error (CRC)
#
7024 Bad request structure length
#
7025 Seek error
#
7026 Unknown type of medium
#
7027 Sector not found
#
7028 Printer out of paper
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 23
#
7029 Write fault
#
7030 Read fault
#
7031 General failure
#
7032 Sharing violation
#
7033 Lock violation
#
7034 Invalid disk change
#
7035 FCB unavailable
#
7036 Sharing buffer exceeded
#
7050 Unsupported network request
#
7051 Remote machine not listening
#
7052 Duplicate name on network
#
7053 Network name not found
#
7054 Network busy
#
7055 Device no longer exists on network
#
7056 NetBIOS command limit exceeded
#
7057 Error in network adapter hardware
#
7058 Incorrect response from network
#
7059 Unexpected network error
#
7060 Remote adapter incompatible
#
7061 Print queue full
#
7062 Insufficient memory for print file
#
7063 Print file canceled
#
7064 Network name deleted
#
7065 Network access denied
#
7066 Incorrect network device type
#
7067 Network name not found
#
7068 Network limit exceeded
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 24
#
7069 NetBIOS session limit exceeded
#
7070 File sharing temporarily paused
#
7071 Network request not accepted
#
7072 Print or disk redirection paused
#
7080 File already exists
#
7082 Cannot make directory
#
7083 Fail on Int 24H (critical error)
#
7084 Too many redirections
#
7085 Duplicate redirection
#
7086 Invalid password
#
7087 Invalid parameter
#
7088 Network device fault
#
7089 No process slots available
#
7090 System error
#
7091 Timer service table overflow
#
7092 Timer service table duplicate
#
7093 No limits to work on
#
7095 Interupted system call
#
7100 Open semaphore limit exceeded
#
7101 Exclusive semaphore already owned
#
7102 DosCloseSem Found semaphore set
#
7103 Too many exclusive semaphore requests
#
7104 Operation invalid at interrupt time
#
7105 Semaphore owner terminated
#
7106 Semaphore limit exceeded
#
7107 Insert drive B disk into drive A
#
7108 Drive locked by another process
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 25
#
7109 Write on pipe with no reader
#
7110 Open/create failed due to explicit fail command
#
7111 Buffer too small
#
7112 Disk is full
#
7113 No more search handles
#
7114 Invalid target handle for DosDupHandle
#
7115 Bad user virtual address
#
7116 Error on display write or keyboard read
#
7117 Invalid DosDevIOCtl category
#
7118 Invalid value for verify flag
#
7119 Driver does not support DosDevIOCtl
#
7120 Invalid function called
#
7121 Timed out waiting for semaphore
#
7122 Insufficient data in buffer
#
7123 Invalid character or bad filename
#
7124 Unimplemented information level
#
7125 No volume label found
#
7130 Invalid handle operation for direct disk access
#
7131 Cannot seek to negative offset
#
7132 Cannot seek on pipe or device
#
7133 Drive has previously joined drives
#
7134 Drive is already joined
#
7135 Drive is already substituted
#
7136 Drive is not joined
#
7137 Drive is not substituted
#
7138 Cannot join to joined drive
#
7139 Cannot substitute to substituted drive
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 26
#
7140 Cannot join to substituted
#
7141 Cannot substitute to joined drive
#
7142 Drive is busy
#
7143 Cannot join or substitute drive to directory on same drive
#
7144 Must be subdirectory of root
#
7145 Joined directory must be empty
#
7146 Path is already used in substitute
#
7147 Path is already used in join
#
7148 Path is being used by another process
#
7149 Cannot join or substitute drive having directory that is
target of previous substitute
#
7150 System trace error
#
7151 DosMuxSemWait errors
#
7152 Systems limit on DosMuxSemWait calls exceeded
#
7153 Invalid list format
#
7154 Volume label too big
#
7155 Cannot create another TCB
#
7156 Signal refused
#
7157 Segment is discarded
#
7158 Segment was not locked
#
7159 Bad tread ID address
#
7160 Bad environment pointer
#
7161 Bad pathname for DosExecPgm
#
7162 Signal already pending
#
7163 Unknown medium
#
7164 No more threads available
#
7165 Monitors not supported
#
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 27
7180 Invalid segment number
#
7181 Invalid call gate
#
7182 Invalid ordinal
#
7183 Shared segment or system semaphore already exists
#
7186 Invalid flag number
#
7187 semaphore does not exist
#
7188 Invalid stating code segment
#
7189 Invalid stack segment
#
7190 Invalid module type
#
7191 Wrong EXE file header
#
7192 Invalid EXE file,LINK errors
#
7193 Invalid EXE format
#
7194 Iterated data exceeds 64 KB
#
7195 Invalid minimum allocation size
#
7196 Invalid dynamic link from ring 2 segment
#
7199 Automatic data segment exceeds 64 KB
#
7200 Ring 2 segment must be movable
#
7201 Relocation chain exceeds segment limit
#
7202 Infinite loop in relocation chain
#
7203 Environment variable not found
#
7204 Not current country
#
7205 NO process whit handler to receive signal
#
7206 Filename or extension too long
#
7207 Ring too stack in use
#
7211 File system information not available
#
7212 Locked error
#
7213 Bad dynamic link
#
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 28
7214 Too many modules
#
7234 Additional data is available
#
7240 Network session was canceled
#
7262 Stack too large
#
7303 Invalid process ID
#
7310 Cannot shrink DosSubSet segment
#
7311 Out of memory(DosSubAlloc)
#
7312 Invalid block specified(DosSubFree)
#
7313 Bad size parameter
#
7314 Bad flag parameter(DosSubSet)
#
7315 Invalid segment selector
#
7321 Unable to perform function
#
7324 No timers available
#
7326 Invalid timer handle
#
7327 Date or time invalid
#
7328 Internal system error
#
7350 Invalid pointer to parameter
#
7355 Unsupported screen mode
#
7356 Invalid cursor width value
#
7358 Invalid row value
#
7359 Invalid column value
#
7366 Invalid wait flag setting
#
7367 Screen not previously locked
#
7369 Invalid session ID
#
7370 No session available
#
7371 Session not found
#
7372 Title cannot be changed
#
______________________________________________________________________
Mar 8, 1991 See Mail Information Page 29
7373 Invalid parameter(Kbd)
#
7375 Invalid wait parameter
#
7376 Invalid length for keyboard
#
7377 Invalid echo mode mask
#
7378 Invalid input mode mask
#
7379 Invalid monitor parameters
#
7380 Invalid device name string
#
7381 Invalid device handle
#
7382 Buffer too small
#
7383 Buffer empty
#
7384 Data record too large
#
7389 Invalid display mode parameters
#
7391 Invalid entry point
#
7392 Invalid function mask
#
7394 Pointer drawn
#
7395 Invalid frequency for DosBeep
#
7399 Information truncated to fit buffer
#
7400 Selected type does not exist
#
7401 Selected type not in file
#
7448 Invalid code page
#
7461 Invalid data length
#
7469 Invalid code page specified
#
7470 System displays do not support code page
#
7477 Internal error
#
7482 DosSetCp unable to set display or keyboard code page
#
7487 Bad physical address
╔═══════════════════════════╗
║ ║
║ End of File ║
║ ║
╚═══════════════════════════╝